import { useIntersectionObserver } from '@vueuse/core'

// 定义懒加载插件
export const LazyPlugin = {
    install(app) {
        // 编写懒加载指令逻辑
        app.directive("img-lazy", {
            mounted(el, binding) {
                // el: 指令绑定的那个元素 img
                // binding: binding.value  指令等于号后面绑定的表达式的值  图片url
                // console.log(el, binding);
                const { stop } = useIntersectionObserver(el, ([{ isIntersecting }]) => {
                    // 进入视口区域
                    if (isIntersecting) {
                        // console.log(isIntersecting);
                        el.src = binding.value
                        stop()//使用这个方式使得图片在第一次加载监听就结束，不然会一直监听
                    }
                })
            }
        })

    }
}